package com.gjy.rabbitmq.resolve;

import com.rabbitmq.client.AMQP;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 业务服务类
 * 处理具体的业务逻辑
 *
 * @author gjy
 * @version 1.0
 * @since 2025-10-13 14:42:46
 */
public class BusinessService {

    private static final Logger logger = LoggerFactory.getLogger(BusinessService.class);

    /**
     * 处理业务逻辑
     *
     * @param message    消息内容
     * @param properties 消息属性
     * @throws Exception 业务处理异常
     */
    public void processBusinessLogic(String message, AMQP.BasicProperties properties)
            throws Exception {
        logger.info("开始处理业务逻辑: message={}", message);

        // 模拟可能的异常情况
        if (message.contains("error")) {
            logger.error("模拟业务处理失败: message={}", message);
            throw new RuntimeException("业务处理失败");
        }

        // 实际的业务逻辑处理
        // 例如：更新数据库、调用外部接口、发送通知等
        logger.info("业务逻辑处理完成: message={}", message);
    }

}
